package com.creative.xcx.domain;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.creative.core.page.PageDomain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;


/**
 * @author ling
 * @description 素材分类类型
 * @date 2025-02-26
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Builder
@ToString(callSuper = true)
@ExcelIgnoreUnannotated
public class MaterialType extends PageDomain implements Serializable {
    /**
     * 类型编号
     */
    @JsonProperty("typeId")
    @ExcelProperty("类型编号")
    private String typeId;

    /**
     * 类型名称
     */
    @ExcelProperty("类型名称")
    private String typeName;

    /**
     * 封面图片地址
     */
    @ExcelProperty("封面图片地址")
    private String coverImg;

    /**
     * 封面展示文字
     */
    @ExcelProperty("封面展示文字")
    private String coverText;

    /**
     * 展示状态
     */
    @ExcelProperty("展示状态 ")
    private Integer status;

    /**
     * 删除标记
     */
    @ExcelProperty("删除标记")
    private Integer delFlag;

    /**
     * 发布时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("发布时间")
    private Date publishTime;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("更新时间")
    private Date updateTime;

    /**
     * 创建人
     */
    @ExcelProperty("创建人")
    private String createBy;

    /**
     * 更新人
     */
    @ExcelProperty("更新人")
    private String updateBy;

    /**
     * 备注信息
     */
    @ExcelProperty("备注信息")
    private String remark;

}